home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
Z-Miscellaneous
/
(c)z4.d64
/
dm master.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
6KB
|
266 lines
5 POKE53281,1:POKE53280,1:PRINT"[144][147]":PRINTTAB(15)"DM MASTER"
7 PRINTTAB(12)"BY PATRICK GROTE"
10 BEGIN=54272:FORCLEAR=BEGTOBEGIN+24:POKECLEAR,0:NEXT
20 POKEBE+5,85:POKEBE+6,85:POKEBE+12,85:POKEBE+13,85
30 POKEBE+24,15
40 POKEBE+4,33:POKEBE+11,17
50 FORX=1TO6:READH1,L1,H2,L2:POKEBE+1,H1:POKEBE,L1:POKEBE+8,H2:POKEBE+7,L2
60 IFH1=50THENFORT=1TO200:NEXT
70 FORT=1TO100:NEXT
80 DATA25,30,18,209,33,135,25,30,42,62,31,165,50,60,37,162,42,62,31,165,50,60
90 DATA37,162
100 NEXTX
110 BEGIN=54272:FORCLEAR=BEGTOBEGIN+24:POKECLEAR,0:NEXT
115 FORI=1TO1500:NEXT
120 POKE 53281,0:POKE 53280,0:PRINT"":REM AUTHOR PATRICK GROTE FOR C-64
130 DEF FNA(X)=INT(RND(1)*X)+1
140 POKE 36879,8:P=4:GOTO 430:REM START
150 IF CH=1THENTY$="[153]FIGHTER[159][146]"
160 IF CH=2THENTY$="[154]PALADIN[159][146]"
170 IF CH=3THENTY$="[155]RANGER[159][146]"
180 IF CH=4THENTY$="CLERIC[159][146]"
190 IF CH=5THENTY$="[156]MAGIC-USER[159][146]"
200 IF CH=6THENTY$="THIEF[159][146]"
210 IF CH=7THENTY$="[158]MONK[159][146]"
220 IF RA=1THENRA$="HUMAN[159]"
230 IF RA=2THENRA$="[153]HALF-ELVEN[159]"
240 IF RA=3THENRA$="[156]GNOME[159]"
250 IF RA=4THENRA$="[154]DWARVEN[159]"
260 IF RA=5THENRA$="ELVEN[159]"
270 IF RA=6THENRA$="[155]HALFLING[159]"
280 IF RA=7THENRA$="[158]HALF-ORC[159]"
290 RETURN
300 OPEN P,4
310 PRINT#P,N$,RA$,TY$,"LEVEL"LE
320 IFTY<4ANDSS>0THENPRINT#P,"STR-"S;SS:GOTO 340
330 PRINT#P,"*****STRENGTH-"S
340 PRINT#P,"*****INTELIGENCE-"I
350 PRINT#P,"*****WISDOM-"W
360 PRINT#P,"*****DEXTERITY-"D
370 PRINT#P,"*****CONSTITUTION-"C
380 PRINT#P,"*****CHARISMA-"CR:PRINT#P
390 IFCH=1ORCH=2THENPRINT#P,"WEAPONS ":PRINT#4,W$,Y$
400 PRINT#P,"CONSTITUTION BONUS-"CB:PRINT#P
410 PRINT#P,"HIT POINTS-"HP:PRINT#P
420 CLOSE P:GOTO 1660
430 PRINT"[147][159]CHARACTER TYPE[158]":REM*CHARMENU
440 PRINT" 1 FIGHTER"
450 PRINT" 2 PALADIN"
460 PRINT" 3 RANGER"
470 PRINT" 4 CLERIC"
480 PRINT" 5 MAGIC-USER"
490 PRINT" 6 THIEF"
500 PRINT" 7 MONK"
510 PRINT"[159]SELECT"
520 GET H$:IF H$=""THEN520
530 IF H$>"7"OR H$<"1"THEN430
540 IF H$="7"OR H$="2"THEN RA=1:GOTO 680
550 CH=VAL(H$)
560 PRINT"[147]CHARACTER RACE[158]"
570 PRINT" 1 HUMAN"
580 PRINT" 2 HALF-ELVEN"
590 PRINT" 3 GNOME"
600 PRINT" 4 DWARF"
610 PRINT" 5 ELF"
620 PRINT" 6 HALFLING"
630 PRINT" 7 HALF-ORC"
640 PRINT"[159]SELECT"
650 GET A$:IF A$=""THEN650
660 IF A$>"7"OR A$<"1"THEN560
670 RA=VAL(A$)
680 CH=VAL(H$):REM LEVEL
690 INPUT"NAME";N$
700 PRINT"LEVEL[158]"
710 INPUT "[159]SELECT";LE
720 IF LE<1THENLE=1
730 GOSUB 150
740 PRINT"[147][158]PLEASE WAIT FOR YOUR"
750 PRINT"";RA$;"[144] ";TY$;" TO BE ROLLED"
760 REM
770 GOSUB 840:S=N
780 GOSUB 840:D=N
790 GOSUB 840:C=N
800 GOSUB 840:W=N
810 GOSUB 840:I=N
820 GOSUB 840:CR=N
830 ONCHGOTO 950,1000,1080,1150,1190,1240,1280
840 REM RND#GEN
850 XX=INT(RND(1)*6)+1
860 YY=INT(RND(1)*6)+1
870 ZZ=INT(RND(1)*6)+1
880 N=XX+YY+ZZ
890 XX=0:YY=0:ZZ=0
900 RETURN
910 IFS<18THEN RETURN
920 S=18:SS=INT(RND(1)*100)+1
930 IFSS>99THEN SS=00
940 RETURN
950 REM*FIGHTER
960 X=10:IFS<15THENGOTO 770
970 IFC<7THEN GOTO 790
980 IFRA>3 THENGOSUB 1340
990 GOSUB 910:GOTO 1500
1000 REM PALADIN
1010 X=10:IFS<12THEN 770
1020 IFC<=13THEN 790
1030 IFW<13THEN 800
1040 IFI<9THEN GOTO 810
1050 IFCR<17THENGOTO 820
1060 GOSUB 910
1070 GOTO 1500
1080 REM RANGER
1090 X=8:IFS<13THEN 770
1100 IFC<14THEN 790
1110 IFW<14THEN 800
1120 IFI<13THEN 810
1130 IFRA>3 THEN GOSUB 1340
1140 GOTO 1500
1150 REM CLERIC
1160 X=8:IFW<14THEN GOTO 800
1170 IFRA>2THEN GOSUB 1340
1180 GOTO 1500
1190 REM MAGIC USER
1200 X=5:IFI<14THEN 810
1210 IFD<10THEN 780
1220 IFRA>3THEN GOSUB 1340
1230 GOTO 1500
1240 REM THIEF
1250 X=6:IFD<14THEN 780
1260 IFRA>2THEN GOSUB 1340
1270 GOTO 1500
1280 REM MONK
1290 X=5:IFS<16 THEN 760
1300 IFC<12THEN 790
1310 IFD<15THEN 780
1320 IFW<15 THEN 800
1330 GOTO 1500
1340 REM RACE MODS
1350 ON RAGOTO 120,120,1450,1360,1400,1430,1460
1360 C=C+2:IFC>18THENC=18:REM DWARF
1370 CR=CR-1:IFCR<3 THENCR=3
1380 IFC<15THENC=C+2:IFS<=15THENS=S+2
1390 RETURN
1400 D=D+1:IFD>18THEND=18:REM ELF
1410 C=C-1:IFC<3THENC=3
1420 RETURN
1430 S=S-1:IFS<1THENS=3:REM HALFLING
1440 D=D+2:IFD>18THEND=18
1450 RETURN
1460 RETURN
1470 C=C+1:IFC>18THENC=18
1480 CR=CR-2:IFCR<3THENCR=3
1490 RETURN
1500 GOSUB 1720:PRINT"[147][159]FINISHED CHARACTER[158]"SPC(05)" ";N$
1510 IFS<18ORCH>3THEN PRINT"STRENGTH...."S:GOTO 1530
1520 PRINT"STRENGTH...."S;:PRINT"[157]";SS
1530 PRINT"INELIGENCE.."I
1540 PRINT"WISDOM......"W
1550 PRINT"DEXTERITY..."D
1560 PRINT"CONSTITUTION"C
1570 PRINT"CHARISMA...."CR
1580 PRINT""
1590 PRINTSPC(1)RA$;:PRINT" ";:PRINTTY$
1600 PRINT"[159]LEVEL:"SPC(08)LE
1610 PRINT"[156]HIT POINTS: "HP
1620 IFCH=3THENPRINT"CONS BONUS: "(CB*LE);
1630 IFCH=3THEN PRINT(CB*(LE+1)):GOTO 1650
1640 PRINT"CONS BONUS: "(CB*LE)
1650 PRINT"N[158]EW/A[158]GAIN/P[158]RINT/W[158]EAPONS";
1660 GET A$:IFA$=""THEN 1660
1670 IFA$="N"THEN RUN
1680 IFA$="A"THEN730
1690 IFA$="P"THEN 300
1700 IFA$="W"THEN 1910
1710 GOTO 1660
1720 HP=0:CB=0
1730 IFCH>3THEN 1790
1740 IF C=15THENCB=1
1750 IF C=16THENCB=2
1760 IF C=17THENCB=3
1770 IF C=18THENCB=4
1780 GOTO 1810
1790 IFC=15THENCB=1
1800 IFC>15THEN CB=3
1810 IFCH=3ANDLE=1THENHP=16+CB+CB:RETURN
1820 IFLE=1THENHP=X+CB:RETURN
1830 FORAA=1TO(LE-1)
1840 HP=HP+FNA(X)
1850 NEXT
1860 HP=HP+X
1870 HP=HP+(CB*LE)
1880 IFCH=3THEN HP=HP+X+CB:REM RANGER 2D8
1890 RETURN
1900 IFS>=17THENW$="HOLY AVENGER":RETURN
1910 IFCH<>1ORCH<>2THENPRINT"[147]YOU DO NOT START WITH WEAPONS!":FORI=1TO1000:NEXT
1920 GOTO 1500
1930 PRINT"[147]TABLE FOR FIGHTERS WEAPONS:"
1940 PRINT"1. LONG SWORD"
1950 PRINT"[159]2. BROAD SWORD"
1960 PRINT"3. SHORT SWORD"
1970 PRINT"[156]4. BOW AND 50 ARROWS"
1980 PRINT"5. SPEAR"
1990 PRINT"[158]6. JAVILIEN"
2000 PRINT"[153]7. MACE"
2010 PRINT"[154]8. HAMMER"
2020 PRINT"[155]9. DAGGER"
2030 PRINT"10. TRIDENT"
2040 PRINT""
2050 INPUT"SELECT TWO";W,Y
2060 IF W<1 OR Y<1THEN 2050
2070 IFW>10ORY>10THEN2050
2080 GOSUB 2250
2090 PRINT"[147][159]FINISHED CHARACTER[158]"SPC(05)" ";N$
2100 IFS<18ORCH>3THEN PRINT"STRENGTH...."S:GOTO 2120
2110 PRINT"STRENGTH...."S;:PRINT"[157]";SS
2120 PRINT"INELIGENCE.."I
2130 PRINT"WISDOM......"W
2140 PRINT"DEXTERITY..."D
2150 PRINT"CONSTITUTION"C
2160 PRINT""
2170 PRINTSPC(1)RA$;:PRINT" ";:PRINTTY$
2180 PRINT"[159]LEVEL:"SPC(08)LE
2190 PRINT"WEAPONS: ";W$;",";Y$:PRINT"[156]HIT POINTS: "HP
2200 IFCH=3THENPRINT"CONS BONUS: "(CB*LE);
2210 IFCH=3THEN PRINT(CB*(LE+1)):GOTO 1650
2220 PRINT"CONS BONUS: "(CB*LE)
2230 PRINT"N[158]EW/A[158]GAIN/P[158]RINT/W[158]EAPONS";
2240 GOTO 1660
2250 IF W=1THENW$="LONG SWORD"
2260 IFY=1 THENY$="LONG SWORD"
2270 IF W=2 THENW$="BROAD SWORD"
2280 IF Y=2THENY$="BROAD SWORD"
2290 IFW=3THEN W$="SHORT SWORD"
2300 IF Y=3THENY$="SHORT SWORD"
2310 IFW=4THEN W$="BOW AND 50 ARROWS"
2320 IFY=4THEN Y$="BOW AND 50 ARROWS"
2330 IFW=5THEN W$="SPEAR"
2340 IFY=5THEN Y$="SPEAR"
2350 IFW=6THEN W$="JAVILIEN"
2360 IFY=6THEN Y$="JAVILIEN"
2370 IFW=7THEN W$="MACE"
2380 IFY=7THEN Y$="MACE"
2390 IFW=8THEN W$="HAMMER"
2400 IFY=8THEN Y$="HAMMER"
2410 IFW=9THEN W$="DAGGER"
2420 IFY=9THEN Y$="DAGGER"
2430 IFY=10THENY$="TRIDENT"
2440 IFW=10THEN W$="TRIDENT"
2450 GOTO 2090
2460 RETURN
2470 PRINT"[147]TABLE FOR PALADINS WEAPONS: "
2480 PRINT"1. LONG SWORD"
2490 PRINT"2. BROAD SWORD"
2500 PRINT"3. SHORT SWORD"
2510 PRINT"[156]4. BOW AND 50 ARROWS"
2520 PRINT"5. SPEAR"
2530 PRINT"[158]6. JAVILIEN"
2540 PRINT"[153]7. MACE"
2550 PRINT"[154]8. HAMMER"
2560 PRINT"[155]9. DAGGER"
2570 PRINT"10. TRIDENT"
2580 PRINT""
2590 INPUT"SELECT TWO";W,Y
2600 IF W<1 OR Y<1THEN 2050
2610 IFW>10ORY>10THEN2050
2620 GOTO 2250